package upeu.edu.pe.controlador;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/*
package com.cticsperu.controller;
import com.cticsperu.model.SivPrivilegio;
import com.cticsperu.model.SivTrabajador;
import com.cticsperu.model.SivAcceso;
import com.cticsperu.service.SivPrivilegioService;
import com.cticsperu.service.SivTrabajadorService;
import com.cticsperu.service.SivMenuService;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
@Controller
public class SivPrivilegioController {
protected final Log logger = LogFactory.getLog(SivPrivilegioController.class);
    @Autowired
    private SivPrivilegioService privilegioService;
    
    @Autowired
    private SivTrabajadorService trabajadorService;

    @RequestMapping(value = "validar/mainPrivilegio", method = RequestMethod.GET)
    public ModelAndView mainPrivilegio(HttpServletRequest request, HttpServletResponse response){      
    Map<String, Object> model = new HashMap<String, Object>();
    model.put("resultadoBTrabajador", trabajadorService.buscarTrabajadorPrivilegio(request.getParameter("nombre")));        
    return new ModelAndView("modulos/privilegio/mainPrivilegio", model);
    }
        
    @RequestMapping(value = "validar/controlPrivilegio", method = RequestMethod.GET)
    public ModelAndView controlPrivilegio(HttpServletRequest request, HttpServletResponse response){
    Map<String, Object> model = new HashMap<String, Object>();
    model.put("resultadoBTrabajador", trabajadorService.buscarTrabajadorPrivilegio(request.getParameter("q")));
    return new ModelAndView("modulos/privilegio/controlPrivilegio", model);
    }
        
    @RequestMapping(value = "validar/formPrivilegio", method = RequestMethod.GET)
    public ModelAndView formPrivilegio(@ModelAttribute("privilegioInsertar") SivPrivilegio  privilegio, BindingResult result, HttpServletRequest request, HttpServletResponse response){      
    Map<String, Object> model = new HashMap<String, Object>();
    SivTrabajador trabaj=new SivTrabajador();    
    trabaj.setIdTrabajador((String)request.getParameter("trabajadorid"));
    model.put("trabajadorid", request.getParameter("trabajadorid"));
    model.put("nombre", request.getParameter("nombre"));
    model.put("apellidos", request.getParameter("apellidos"));
    model.put("listaAccesoTrabaj", privilegioService.listaPrivilegioTrabajador(trabaj));
    
    return new ModelAndView("modulos/privilegio/formPrivilegio", model);
    }     
 
    @RequestMapping(value = "validar/savePrivilgio", method = RequestMethod.POST)
    public ModelAndView savePrivilegio(@ModelAttribute("privilegioInsertar") SivPrivilegio  privilegio, BindingResult result, HttpServletRequest request, HttpServletResponse response) {    
    String trabajadorid = request.getParameter("trabajadorid")== null ? "":request.getParameter("trabajadorid");
    String[] estado=request.getParameterValues("estado[]")== null ? new String[0]:request.getParameterValues("estado[]");
    String opc = request.getParameter("opc")== null ? "":request.getParameter("opc");
    int condicion=0;
    int operacion=0;
    String Errorr="";
    if(opc.equals("RA")){
        String tempEstadoInsertC ="";
        String tempEstadoUpdateActivC ="";
        String tempEstadoUpdateGeneralC ="";

        String tempEstado="";
        int n=0;
        int tempInst=0;
        int tempUpd=0;
        int tempUpdGen=0;
                while(n<estado.length){
                String[] splitEstado = estado[n].split("-");
                SivTrabajador trab=new SivTrabajador();
                trab.setIdTrabajador(trabajadorid);
                SivAcceso acces=new SivAcceso();                        
                acces.setIdAcceso(splitEstado[0]);    
                
                SivPrivilegio priv=new SivPrivilegio();                
                priv.setIdTrabajador(trab);
                priv.setIdAcceso(acces);
                
                List rs=privilegioService.buscarPrivilegio(priv);
                Iterator iterator=rs.iterator();
                if(iterator.hasNext()){
                if(splitEstado[1].equals("0") && splitEstado[2].equals("1")){
                    if(tempEstadoUpdateActivC.equals("")){tempEstadoUpdateActivC+=splitEstado[0]; tempUpd++; }
                    else{tempEstadoUpdateActivC+="-"+splitEstado[0]; tempUpd++;}
                    }
                }else{ 
                    if(tempEstadoInsertC.equals("")){tempEstadoInsertC+=splitEstado[0]; tempInst++;}
                    else{tempEstadoInsertC+="-"+splitEstado[0]; tempInst++;}
                    }
                if(tempEstadoUpdateGeneralC.equals("")){tempEstadoUpdateGeneralC+=splitEstado[0]; tempUpdGen++;}
                else{tempEstadoUpdateGeneralC+="-"+splitEstado[0]; tempUpdGen++;}
                n++;
                }
                

                    String[] tempEstadoInsert=new String[tempInst];
                    String[] tempEstadoUpdateActiv=new String[tempUpd];
                    String[] tempEstadoUpdateGeneral=new String[tempUpdGen];

                    if(tempEstadoInsertC.length()!=0){
                    tempEstadoInsert = tempEstadoInsertC.split("-");
                    }
                    if(tempEstadoUpdateActivC.length()!=0){
                     tempEstadoUpdateActiv=tempEstadoUpdateActivC.split("-");
                    }
                    if(tempEstadoUpdateGeneralC.length()!=0){
                    tempEstadoUpdateGeneral = tempEstadoUpdateGeneralC.split("-");
                    }

        //inicio insertar
        if(tempEstadoInsert.length!=0){
        for(int j=0; j<tempEstadoInsert.length; j++ ){
                SivTrabajador trab=new SivTrabajador();
                trab.setIdTrabajador(trabajadorid);
                SivAcceso acces=new SivAcceso();                 
                acces.setIdAcceso(tempEstadoInsert[j]);                
                SivPrivilegio priv=new SivPrivilegio();                
                priv.setIdTrabajador(trab);
                priv.setIdAcceso(acces);                
                List rs=privilegioService.buscarPrivilegio(priv);
                Iterator iterator=rs.iterator();
                if(iterator.hasNext()){
                }else{                
                 SivPrivilegio privSave=new SivPrivilegio();
                 privSave.setIdTrabajador(trab);
                 privSave.setIdAcceso(acces);
                 privSave.setState("1"); 
                 privilegioService.savePrivilegio(privSave);
                }
            } } //Fin Insertar                    

        
            //inicio update activar
            if(tempEstadoUpdateActiv.length!=0){
            for(int i=0; i<tempEstadoUpdateActiv.length; i++ ){
                SivTrabajador trab=new SivTrabajador();
                trab.setIdTrabajador(trabajadorid);
                SivAcceso acces=new SivAcceso();                 
                acces.setIdAcceso(tempEstadoUpdateActiv[i]);                
                SivPrivilegio priv=new SivPrivilegio();                
                priv.setIdTrabajador(trab);
                priv.setIdAcceso(acces);                
                List rs=privilegioService.buscarPrivilegio(priv);
                Iterator iterator=rs.iterator();                    
                    if(iterator.hasNext()){
                         SivPrivilegio privUpdate=new SivPrivilegio();
                         privUpdate.setIdTrabajador(trab);
                         privUpdate.setIdAcceso(acces);
                         privUpdate.setState("1"); 
                         privilegioService.actualizarPrivilegio(privUpdate);
                        //if(operacion!=1){ Errorr+="Error al Actualizar...!<br>";   }                        
                    }
            }}
            //fin update activar 
            //inicio arreglo
            int k=0;
            while(k<tempEstadoUpdateGeneral.length){
                if(k==0){tempEstado+=tempEstadoUpdateGeneral[k];}
                else{tempEstado+=','+tempEstadoUpdateGeneral[k];}
                k++;
            }
            //fino arreglo            

        //inicio update desactivar 
        if(tempEstadoUpdateGeneral.length>0){
            SivTrabajador trab=new SivTrabajador();
            trab.setIdTrabajador(trabajadorid);              
            SivPrivilegio priv=new SivPrivilegio();                
            priv.setIdTrabajador(trab);  
            priv.setState("0");
            privilegioService.actualizarPrivilegioGrupo(priv, tempEstado);
         //   if(operacion!=1){ Errorr+="Error al Actualizar...!<br>";   }
        }else{
            SivTrabajador trab=new SivTrabajador();
            trab.setIdTrabajador(trabajadorid);              
            SivPrivilegio priv=new SivPrivilegio();                
            priv.setIdTrabajador(trab);  
            priv.setState("0");
            privilegioService.actualizarPrivilegioTrabajador(priv);
         //   if(operacion!=1){ Errorr+="Error al Actualizar...!<br>";   }
        }
        //fin update desactivar            
           logger.info("averrrrrr Jueves:"+ trabajadorid);     
        }
            return new ModelAndView("redirect:formPrivilegio.html?trabajadorid="+request.getParameter("trabajadorid")+"&nombre="+request.getParameter("nombre")+"&apellidos="+request.getParameter("apellidos"));
    }    
    
  
    
    
}*/
